package oop;

import javax.swing.JFrame;
import java.awt.*;

/**
 * Lớp Main
 *
 * @author TxGVNN
 */
public final class Main extends Canvas {

    private static final long serialVersionUID = 1L;
    static final int MWIDTH = 300; // Rộng *3 phía dưới
    static final int MHEIGHT = 200; // Cao 
    JFrame jFrame;
    Game runGame;

    /**
     * Cài đặt Canvas để vẽ. Khởi tạo cửa sổ JFrame và add Canvas vào.
     */
    public Main() {
        this.setSize(900, 600);
        setIgnoreRepaint(true);

        jFrame = new JFrame(GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration());
        // Cài đặt của sổ, bla bla
        jFrame.setMaximumSize(new Dimension(MWIDTH * 3, MHEIGHT * 3));
        jFrame.setMinimumSize(new Dimension(MWIDTH * 3, MHEIGHT * 3));
        jFrame.setPreferredSize(new Dimension(MWIDTH * 3, MHEIGHT * 3));

        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setResizable(false); // Ko thay đổi kích thước
        jFrame.setLocationRelativeTo(null);
        jFrame.add(this);
        setFocusable(true);
        jFrame.pack();
        jFrame.setVisible(true);
        createBufferStrategy(2);

        startGame();
    }

    /**
     * Gọi lớp Game và start
     */
    public void startGame() {
        runGame = new Game(this);
        runGame.start();

    }

    /**
     * Thoát game đóng của sổ
     */
    public void exitGame() {
        jFrame.setVisible(false);
        jFrame.dispose();
    }

    public static void main(String[] args) {

        new Main();

    }

}
